#pragma once

#include "../Utilities/utilities.h"

#define TRANSLATE_STEP 0.1f
#define ROTATE_STEP 0.01f
#define SCALE_STEP 0.01f
class Object
{
protected:
	Matrix worldMatrix;
	Matrix translationMatrix;
	Matrix rotationMatrix;
	virtual void move() = 0;
	virtual void rotate() = 0;
public:
	virtual void moveLeft() = 0;
	virtual void moveRight() = 0;
	virtual void moveForward() = 0;
	virtual void moveBackward() = 0;
	virtual void RotateLeft() = 0;
	virtual void RotateRight() = 0;
	virtual void RotateUp() = 0;
	virtual void RotateDown() = 0;
	virtual Matrix& getWorldMatrix() {return worldMatrix;}
	Object(void);
	virtual ~Object(void);
};
